package com.vercon.otamirror.provider;

//import com.amap.api.location.AMapLocation;
//import com.amap.api.location.AMapLocationClient;
//import com.amap.api.location.AMapLocationClientOption;
//import com.amap.api.location.AMapLocationListener;


/**
 * 这个类提供定位城市。
 */
public class AMapLocationProvider {

//    private static final String TAG = AMapLocationProvider.class.getSimpleName();
//    private static final AMapLocationProvider ourInstance = new AMapLocationProvider();
//    private String cityName;
//
//    public static synchronized AMapLocationProvider instance() {
//        return ourInstance;
//    }
//
//    //声明AMapLocationClient类对象
//    public AMapLocationClient mLocationClient = null;
//
//    private AMapLocation mapLocation;
//
//    //声明定位回调监听器
//    public AMapLocationListener mLocationListener = new AMapLocationListener() {
//
//        @Override
//        public void onLocationChanged(AMapLocation aMapLocation) {
//            mapLocation = aMapLocation;
//
//            Log.d(TAG, "onLocationChanged" + aMapLocation.toStr());
////            MirrorDataStorage.instance().storeString("AMapLocation-3", mapLocation.getCity());
//            //获取到城市就关闭它
//            if (null != mapLocation && !TextUtils.isEmpty(mapLocation.getCity())) {
//                cityName = aMapLocation.getCity();
//                Log.d(TAG, "onLocationChanged   " + cityName);
//
//                EventBus.getDefault().post(new CityEvent());
//                onDestroy();
//            }
//        }
//    };
//
//    private AMapLocationProvider() {
//
//    }
//
//    public void initLocation(Context context) {
//        if (null == mLocationClient) {
//            mLocationClient = createClient(context);
//        }
//        mLocationClient.setLocationListener(mLocationListener);
//        mLocationClient.stopLocation();
//        mLocationClient.startLocation();
//    }
//
//    private AMapLocationClient createClient(Context context) {
//        //初始化定位
//        AMapLocationClient locationClient = new AMapLocationClient(context.getApplicationContext());
//        //设置定位回调监听
//        AMapLocationClientOption option = new AMapLocationClientOption();
//
//        /**
//         * 设置定位场景，目前支持三种场景（签到、出行、运动，默认无场景）
//         * 场景会影响到定位次数
//         */
//        //option.setLocationPurpose(AMapLocationClientOption.AMapLocationPurpose.SignIn);
//        //设置定位模式为AMapLocationMode.Hight_Accuracy，高精度模式。
//        option.setLocationMode(AMapLocationClientOption.AMapLocationMode.Hight_Accuracy);
//
//        //设置定位间隔,单位毫秒,默认为2000ms，最低1000ms。
//        option.setInterval(10 * 1000);
//        //设置是否允许模拟位置,默认为true，允许模拟位置
//        option.setMockEnable(true);
//        option.setGpsFirst(true);
//        option.setWifiScan(true);
//        //关闭缓存机制
//        option.setLocationCacheEnable(true);
//        // option.setOnceLocation(true);
//        locationClient.setLocationOption(option);
//        return locationClient;
//    }
//
//
//    /**
//     * 默认广州市
//     *
//     * @return
//     */
//    public String getCityName(Context context) {
//        if (null != mapLocation) {
//            cityName = mapLocation.getCity().replace("市", "");
//        }
//        return cityName;
//    }
//
//    public String cityCode() {
//        String cityCode = "440100";
//        if (null != mapLocation) {
//            cityCode = mapLocation.getAdCode();
//        }
//        return cityCode;
//    }
//
//    public void onDestroy() {
//        if (null != mLocationClient)
//            mLocationClient.onDestroy();
//    }
}
